package com.fsserver.core.mapper;

import com.fsserver.core.entity.Refund;

import java.util.List;

/**
 * Refund Mapper
 *
 * @author fsserver
 */
public interface RefundMapper extends BaseMapper<Refund> {

    /**
     * Get refund by refund number
     *
     * @param refundNo refund number
     * @return refund
     */
    Refund getByRefundNo(String refundNo);

    /**
     * Get refund by third-party refund number
     *
     * @param thirdPartyRefundNo third-party refund number
     * @return refund
     */
    Refund getByThirdPartyRefundNo(String thirdPartyRefundNo);

    /**
     * List refunds by order number
     *
     * @param orderNo order number
     * @return refund list
     */
    List<Refund> listByOrderNo(String orderNo);

    /**
     * List refunds by transaction number
     *
     * @param transactionNo transaction number
     * @return refund list
     */
    List<Refund> listByTransactionNo(String transactionNo);

    /**
     * List refunds by status
     *
     * @param status refund status
     * @return refund list
     */
    List<Refund> listByStatus(String status);

    /**
     * List refunds by user ID
     *
     * @param userId user ID
     * @return refund list
     */
    List<Refund> listByUserId(Long userId);
} 